ci: Add CentOS 7 build
authorColin Walters <walters@verbum.org>
Fri, 9 Jun 2017 14:57:40 +0000 (10:57 -0400)
committerAtomic Bot <atomic-devel@projectatomic.io>
Fri, 9 Jun 2017 18:30:15 +0000 (18:30 +0000)
For similar reasons as https://github.com/projectatomic/rpm-ostree/pull/824

Closes: #919
Approved by: jlebon

.papr.yml
ci/build-check.sh
ci/build.sh
ci/libbuild.sh

index 67a01683eaa38a6004296e068fd37ac82efa8f3c..74c1690034d098a73191a177c2f6d76dcbbd1be3 100644 (file)
--- a/.papr.yml
+++ b/.papr.yml
@@ -26,9 +26,25 @@ artifacts:
   - test-suite.log
 ---
 
+context: c7-build
 inherit: true
+required: true
+
+container:
+  image: registry.centos.org/centos/centos:7
+
+env:
+    CFLAGS: ''
+
+tests:
+  - ci/build-check.sh
+
+---
 
 context: f25-rust
+inherit: true
+container:
+    image: registry.fedoraproject.org/fedora:25
 packages:
   - cargo
 env:
index 6123440e2c74886fb7ce1e91dd6dc152262c8e22..d15032e7209a4760368288743cf1321907388fef 100755 (executable)
@@ -10,11 +10,15 @@ make check
 make syntax-check  # TODO: do syntax-check under check
 # And now run the installed tests
 make install
-gnome-desktop-testing-runner -p 0 ostree
+if test -x /usr/bin/gnome-desktop-testing-runner; then
+    gnome-desktop-testing-runner -p 0 ostree
+fi
 
-git clean -dfx && git submodule foreach git clean -dfx
-# And now a clang build to find unused variables; perhaps
-# in the future these could parallelize
-export CC=clang
-export CFLAGS='-Werror=unused-variable'
-build
+if test -x /usr/bin/clang; then
+    git clean -dfx && git submodule foreach git clean -dfx
+    # And now a clang build to find unused variables; perhaps
+    # in the future these could parallelize
+    export CC=clang
+    export CFLAGS='-Werror=unused-variable'
+    build
+fi
index d5bacd3857a1bd6a3948e066b543dda3e37d058e..eefb7c3ca5c08e5a1f6fb0fd4400932b1017d848 100755 (executable)
@@ -6,10 +6,14 @@ set -xeuo pipefail
 dn=$(dirname $0)
 . ${dn}/libbuild.sh
 
-install_builddeps ostree
-
-dnf install -y sudo which attr fuse gjs parallel coccinelle clang \
-    libubsan libasan libtsan PyYAML gnome-desktop-testing redhat-rpm-config \
+pkg_install_builddeps ostree
+pkg_install sudo which attr fuse \
+    libubsan libasan libtsan PyYAML redhat-rpm-config \
     elfutils
+pkg_install_if_os fedora gjs gnome-desktop-testing parallel coccinelle clang
 
-build --enable-gtk-doc --enable-installed-tests=exclusive ${CONFIGOPTS:-}
+DETECTED_CONFIGOPTS=
+if test -x /usr/bin/gnome-desktop-testing-runner; then
+    DETECTED_CONFIGOPTS="${DETECTED_CONFIGOPTS} --enable-installed-tests=exclusive"
+fi
+build --enable-gtk-doc ${DETECTED_CONFIGOPTS} ${CONFIGOPTS:-}
index b061a48662df6a8a31635d2a6bbb63d3ec996bc2..fef9d3ae54d8a2b46eb5b19c418c3a945cc167f5 100644 (file)
@@ -10,14 +10,45 @@ build() {
     make V=1
 }
 
-install_builddeps() {
-    pkg=$1
-    dnf -y install dnf-plugins-core
-    dnf install -y @buildsys-build
-    dnf install -y 'dnf-command(builddep)'
+pkg_install() {
+    yum -y install "$@"
+}
+
+pkg_install_if_os() {
+    os=$1
+    shift
+    (. /etc/os-release;
+         if test "${os}" = "${ID}"; then
+            pkg_install "$@"
+         else
+             echo "Skipping installation on OS ${ID}: $@"
+         fi
+    )
+}
 
+pkg_builddep() {
+    # This is sadly the only case where it's a different command
+    if test -x /usr/bin/dnf; then
+        dnf builddep -y "$@"
+    else
+        yum-builddep -y "$@"
+    fi
+}
+
+pkg_install_builddeps() {
+    pkg=$1
+    if test -x /usr/bin/dnf; then
+        yum -y install dnf-plugins-core
+        yum install -y 'dnf-command(builddep)'
+        # Base buildroot
+        pkg_install @buildsys-build
+    else
+        yum -y install yum-utils
+        # Base buildroot, copied from the mock config sadly
+        yum -y install bash bzip2 coreutils cpio diffutils system-release findutils gawk gcc gcc-c++ grep gzip info make patch redhat-rpm-config rpm-build sed shadow-utils tar unzip util-linux which xz
+    fi
     # builddeps+runtime deps
-    dnf builddep -y $pkg
-    dnf install -y $pkg
+    pkg_builddep $pkg
+    pkg_install $pkg
     rpm -e $pkg
 }